home *** CD-ROM | disk | FTP | other *** search
- UNIT(3I) Last changed: 1-6-98
-
-
- NNAAMMEE
- UUNNIITT - Returns the status of a BBUUFFFFEERR IINN or BBUUFFFFEERR OOUUTT statement
-
- SSYYNNOOPPSSIISS
- UUNNIITT (([II==]_i))
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- UNICOS, UNICOS/mk, and IRIX systems
-
- SSTTAANNDDAARRDDSS
- CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran 90
-
- DDEESSCCRRIIPPTTIIOONN
- After execution of asynchronous I/O with a BBUUFFFFEERR IINN or BBUUFFFFEERR OOUUTT
- statement, the execution sequence continues concurrently with the data
- transfer. If UUNNIITT is called in this execution sequence, the sequence
- is delayed until the transfer is complete. After the BBUUFFFFEERR IINN
- operation, use UUNNIITT or LLEENNGGTTHH(3I) before using memory locations where
- the data is stored. UUNNIITT accepts the following argument:
-
- _i Must be an integer or Boolean value. Represents a unit number.
-
- UUNNIITT is a Fortran 90 elemental function. The name of this intrinsic
- cannot be passed as an argument.
-
- NNOOTTEESS
- On UNICOS and UNICOS/mk systems, UUNNIITT can be called as either an
- external subprogram or as an intrinsic procedure.
-
- On IRIX systems, the BBUUFFFFEERR IINN and BBUUFFFFEERR OOUUTT statements are used for
- synchronous I/O. Asynchronous I/O is not available through BBUUFFFFEERR I/O
- on IRIX systems.
-
- RREETTUURRNN VVAALLUUEESS
- When the transfer is complete, UUNNIITT returns a value of type real. The
- value is of type RREEAALL((KKIINNDD==88)) on UNICOS and UNICOS/mk systems; it is
- of type RREEAALL((KKIINNDD==44)) on IRIX systems. The returned value has one of
- the following meanings:
-
- VVaalluuee MMeeaanniinngg
-
- -2.0 A partial-record read terminated after delivering the
- requested number of words or characters, but more data
- remains in the record. This status can be received only
- after a BBUUFFFFEERR IINN in partial record mode.
-
- -1.0 Operation was completed (indicates one of the following):
-
- * A full- or partial-record BBUUFFFFEERR OOUUTT operation completed.
-
- * A full-record BBUUFFFFEERR IINN completed, transferring as much of
- the record as would fit in the space provided.
-
- * A partial-record BBUUFFFFEERR IINN completed, transferring as much
- data as was left in the record (no more data remains in
- the record).
-
- * UUNNIITT was called for an unconnected unit or for a unit on
- which no BBUUFFFFEERR IINN or BBUUFFFFEERR OOUUTT operations have been
- performed.
-
- 0.0 An end-of-file was encountered on the previous BBUUFFFFEERR IINN
- operation. No data was transferred.
-
- 1.0 A partially recovered error occurred on the previous BBUUFFFFEERR
- IINN operation. Use the LLEENNGGTTHH function to determine how much
- data was transferred.
-
- 2.0 An unrecovered error occurred on the last BBUUFFFFEERR IINN or
- BBUUFFFFEERR OOUUTT operation.
-
- EEXXAAMMPPLLEESS
- PROGRAM TESTUNIT
- DIMENSION M(200,5)
- BUFFER IN(32,0) (M(1,1),M(200,5))
- IF (UNIT(32) .EQ. -1.0) THEN
- DO J = 1,5
- DO I = 1,200
- M(I,J) = M(I,J)*2
- END DO
- END DO
- BUFFER OUT (22,0) (M(1,1),M(200,5))
- IF (UNIT(22) .NE. -1.0) CALL ABORT
- ELSE
- CALL ABORT
- ENDIF
- END
-
- SSEEEE AALLSSOO
- LLEENNGGTTHH(3I)
-
- _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for the
- printed version of this man page.
-
-